// 引入接口,加上type关键词,告诉vscode是引入的接口,对数据进行约束的
import type { TrademarkModelData, TrademarkModel } from './model/tradmarkmodel'

// 给请求统一一下,然后方便统一管理接口
// enum 枚举
// 为了后期更加方便的维护接口 降低维护成本 可以将接口统一管理起来
enum Api {
    // 获取品牌列表的数据接口
    getTrademarkListApi = '/admin/product/baseTrademark',
    // 新增品牌列表的数据接口
    AddTrademarkListApi = '/admin/product/baseTrademark/save',
    // 删除品牌列表的数据接口
    delTrademarkListApi = `/admin/product/baseTrademark/remove`,
    // 更新品牌列表的数据接口
    updateTrademarkApi = '/admin/product/baseTrademark/update'
}

import request from '@/utils/request'
// 引入二次封装的ajax请求

// 1.获取品牌的数据
export const reqGetTrademarkListData = (page: number, limit: number) => {
    // 这个any是固定写法,后面的trademarkModelData是对响应回来的数据进行约束
    // return request.get<any, TrademarkListDataModel>(`/${page}/${limit}`)
    // 使用枚举的方法,将api里的对应请求地址使用模板字符串的方式插入
    return request.get<any, TrademarkModelData>(`${Api.getTrademarkListApi}/${page}/${limit}`)
}
// 2.新增品牌数据
export const reqAddTrademarkListData = (trademark: TrademarkModel) => {
    // 根据实际返回的数据来看,服务器端没有响应数据回来,所以这里直接用any,null就行
    return request.post<any, null>(`${Api.AddTrademarkListApi}`, trademark)
}
// 3.删除品牌数据
export const reqDelTrademarkListData = (id: number) => {
    return request.delete<any, null>(`${Api.delTrademarkListApi}/${id}`)
}
// 4.更新品牌数据
export const reqUpdateTrademarkInfo = (trademark: TrademarkModel) => {
    // 由于响应回来的数据中data是null,所以下面设置的也是null
    return request.put<any, null>(Api.updateTrademarkApi, trademark)
}
